package cn.openea.perpartner.meily.web.service;

import cn.openea.perpartner.meily.web.entity.dto.QrCodeDto;
import cn.openea.perpartner.meily.web.entity.dto.QrCodeVo;

import java.io.IOException;

/**
 * @author Weird077
 * @description TODO
 * @date 2022-12-28 14:41
 */
public interface IQrCodeService {
    String getPhoneNumber(String code);
    String getQrCode(QrCodeVo vo) throws IOException;

    /**
     * 按条件生成海报
     * @param dto 生成海报的条件
     *            必传值： dto.userId 用户id， dto.nickName 用户昵称，dto.avatarUrl 用户头像，dto.imageUrl 商品主图URL地址，dto.productName 商品名称，
     *                     dto.productPrice 商品价格，dto.pageUrl 扫码后转向地址，dto.paramArgs 扫码后转向地址所需要的参数，dto.inviteMsg 邀请内容
     *            条件选择必传值：
     *              （1） 兼容bpm老版生成海报：dto.type 海报类别 type=bmhb 就生成帮卖海报，type=cphb 就生成测评海报，type=tghd 就是邀请参与团购活动，
     *                        type=yphd 就是邀请参与样品活动，因为这个值不能为空所以原bpm中的专属海报这里要传值 type=zshb
     *              （2） 新版海报生成规则：dto.priceDesc 价格后的描述内容，dto.giudeText 自定义指引图片的文字如不传就没有文字
     *                        另使用新版本海报生成规则不能传  type 字段，否则被认为是兼容老版本的内容
     * @return 生成海报的地址，为空表示没有生成成功
     * @throws IOException
     */
    String getPoster(QrCodeDto dto) throws IOException;
}
